The present invention relates to spread-spectrum communications systems. More specifically, the present invention relates to a method and apparatus for receiving orthogonal signals in a spread-spectrum communications system.
In a typical wireless communication system, a plurality of mobile stations is accommodated. Typically, more than one mobile station utilizes the wireless communications system at any given time. Such a communications system is sometimes called a multiple access communications system.
Radio frequency (RF) signals are used in multiple access communication systems to carry traffic between the mobile stations and base stations. With the enormous and ever increasing popularity of multiple access communications systems (e.g. cellular phone communications systems), the RF spectrum has become a very scarce resource. As a result, it is increasingly important for service providers of multiple access communication systems to efficiently use the RF spectrum allocated to them and to maximize the capacity of the multiple access communications systems to carry traffic.
Many different techniques which allow multiple mobile stations to access a multiple access communications system simultaneously have been utilized, such as time division multiple access (TDMA), frequency division multiple access (FDMA) and code division multiple access (CDMA). CDMA utilizes spread-spectrum modulation techniques which have certain advantages over TDMA and FDMA. Many new communications systems employed today utilize CDMA. The use of CDMA in a multiple access communications system is disclosed in U.S. Pat. No. 4,901,307 entitled xe2x80x9cSpread-Spectrum Multiple Access Communications System Using Satellite or Terrestrial Repeatersxe2x80x9d and issued to Qualcomm Incorporated on Feb. 13, 1993. This patent is incorporated by reference herein in its entirety.
A typical multiple access communications system which utilizes CDMA (a xe2x80x9cCDMA Communications Systemxe2x80x9d) has not only a plurality of mobile stations but also a plurality of base stations with which the mobile stations communicate. In addition, a typical CDMA communications system has at least one forward CDMA channel and at least one reverse CDMA channel. Each forward CDMA channel and each reverse CDMA channel is assigned a unique non-overlapping frequency band. Typically, there is a guard frequency band between the frequency band(s) used by the forward channel(s) and the frequency band(s) used by the reverse channel(s).
Communications from the base stations to the mobile stations are carried in the forward CDMA channel(s). Each forward CDMA channel is composed of a plurality of code channels. The code channels share the frequency band assigned to the respective forward CDMA channel using spread-spectrum modulation techniques. Each mobile station is associated with a unique code channel.
Similarly, communications from the mobile stations to the base stations are carried in the reverse CDMA channel(s). Each reverse CDMA channel is composed of a plurality of code channels, typically called access channels and reverse traffic channels. The code channels share the frequency band assigned to the respective reverse CDMA channel using spread spectrum modulation techniques. Each mobile station is associated with a unique reverse traffic channel. The access channels are typically used to page or notify the base stations of outgoing calls.
In CDMA communications systems defined by ANSI Standard J-STD-008 or TIA/EIA Standard IS-95A, which are incorporated by reference herein, each frequency band utilized by the forward CDMA channel(s) and the reverse CDMA channel(s) is 1.23 MHZ wide. In addition, each forward CDMA channel and each reverse CDMA channel is further divided into 64 code channels.
In a CDMA communications system, the base stations may be satellites circulating the globe or stations located on the ground (xe2x80x9cterrestrial base stationsxe2x80x9d) or both. At the UHF or higher frequency bands commonly used by CDMA communications systems, a signal from a mobile station commonly arrives at a base station via a plurality of different paths, i.e. a plurality of signals are commonly received at the base station for each signal sent from the mobile station. Similarly, a signal from a base station directed to a mobile station commonly arrives at the mobile station via a plurality of different paths.
The time it takes (typically called a path delay) for a signal to arrive at its intended destination is commonly different for each path. Moreover, significant phase differences between the signals travelling on different paths may occur, especially at the UHF or higher frequency bands. In other words, signals may arrive at a base station from a mobile station (or at a mobile station from a base station) from many different directions or paths, each with a different path delay and phase. When signals are received at each base station and each mobile station, destructive summation of the signals may occur with, on occasion, deep fading. Such multipath fading is common at the UHF or higher frequency bands.
Multipath fading on the signals between the satellites and the mobile stations is not usually as severe as the multipath fading on the signals between the terrestrial base stations and the mobile stations. Since the satellites are normally located in a geosynchronous earth orbit, the distances between mobile stations and any given satellite are relatively the same. In addition, if a mobile station changes location, the distance between the mobile station and a satellite does not change significantly. In contrast, the distances between the mobile stations and the terrestrial base stations can vary quite significantly. One mobile station may be a few hundred feet away from a terrestrial base station and another mobile station in the same cell may be miles away from the same base station. In addition, if a mobile station changes position, the distance between the mobile station and the terrestrial base station may change significantly. Consequently, the change in the position of the mobile station may change the path delays and phases of all of the signals carried on the respective paths between the mobile station and the terrestrial base station.
In light of the above, signals between the satellites and the mobile stations typically experience fading that is characterized as Rician Fading. In contrast, signals between the terrestrial base stations and the mobile stations typically experience more severe fading that is characterized as Rayleigh Fading. The Rayleigh fading is due, in part, by the signals being reflected from a plurality of objects (e.g. buildings) between the mobile stations and the base stations.
Since a CDMA communications system utilizes a wide band signal in each forward CDMA channel and in each reverse CDMA channel, multipath fading typically only affects a small part of each wide band signal. In other words, CDMA inherently uses a form of frequency diversity to mitigate the deleterious affects of multipath fading.
In addition to frequency diversity, CDMA communications systems commonly use time diversity and space (or path) diversity to mitigate the deleterious affects of multipath fading. Time diversity is commonly employed through the use of repetition, time interleaving and error detection and correction decoding schemes. Space diversity is commonly employed in the reverse CDMA channel(s) through the use simultaneous communication links from each mobile station to a base station employing a plurality of antennas. Each antenna services one of the simultaneous communication links. Space diversity is also commonly employed in the forward CDMA channel(s) and in the reverse CDMA channel(s) by exploiting the unique characteristics of the spread-spectrum signals used by CDMA communications systems.
Many CDMA communications systems, such as CDMA communications systems defined by TIA/EIA Standard IS-95A (xe2x80x9cIS-95 CDMA Communications Systemsxe2x80x9d), modulate the traffic carried in each code channel using high-speed pseudo-random noise (PN) modulation techniques at a PN chip rate. Each code channel within a reverse CDMA channel is assigned and modulated with a unique PN code to generate PN sequences (containing the traffic). The high speed PN modulation allows many different paths to be separated provided the difference in path delays exceed the inverse of the PN chip rate, typically called a PN chip duration.
However, the PN codes and the resulting sequences are not orthogonal. For short time intervals (e.g. an information bit), the cross correlations between different PN codes and the cross correlations between different PN sequences are random with a binomial distribution. Consequently, the traffic carried in each code channel typically interferes with the traffic carried in other code channels. To reduce the mutual interference and allow higher system capacity, many CDMA communications systems also modulate the traffic carried in each code channel with orthogonal binary sequences, such as Walsh codes, from a set of a fixed number of mutually orthogonal binary sequences. Each orthogonal binary sequence has a corresponding index symbol. For example, in a CDMA communications system defined by the IS-95A standard, 64 different Walsh codes are used. Consequently, every six bits of data traffic corresponds to one of the index symbols and are mapped to one of the 64 Walsh codes. The use of Walsh codes reduces the mutual interference and increases the system capacity to carry traffic.
The base stations typically send, in each forward CDMA channel, one or more pilot signals which are used by receivers in the mobile stations to coherently demodulate the traffic carried in the forward CDMA channels. However, due to power considerations, the mobile stations do not typically send a pilot signal to the base stations. Consequently, receivers at the base stations must typically use non-coherent demodulation techniques to demodulate or detect the traffic sent in the reverse traffic channels within each reverse CDMA channel.
Since it is more difficult to demodulate traffic using non-coherent demodulation than using coherent demodulation techniques, the capacity of many CDMA communications systems to handle traffic is limited by the ability of the receivers at the base station to detect, error-free, the traffic carried in the reverse traffic channels (within each reverse CDMA channel) using non-coherent demodulation techniques. Consequently, the capacity of many CDMA communications systems is limited by the performance of the receivers used at the base stations.
Each base station has at least one receiver with at least one antenna. Since each receiver typically services only one mobile station at a time, each base station typically has a plurality of receivers, one for each mobile station to be serviced simultaneously. Each receiver at the base station typically has a receiver section, a detector section and a decoder section.
A conventional approach used to maximize the performance of the receivers at the base stations is to optimize separately the detector section and the decoder section of each receiver.
With many CDMA communications systems, the mobile stations first encode the data bits of the traffic to data symbols at a fixed encoding rate using an encoding algorithm which facilitates subsequent maximum likelihood decoding of the data symbols into data bits by a decoder in the decoder section. Furthermore, the mobile stations also typically interleave the data symbols using an interleaver to generate interleaved data symbols. The interleaving of the data symbols helps to reduce the deleterious effects of multipath fading and improve the performance of the decoder section.
The mobile stations then map (or encode) the interleaved data symbols (containing the traffic) into orthogonal codes from a set of mutually orthogonal codes, such as Walsh codes. The use of orthogonal codes facilitates the detection of each data symbol carried in respective code channel by the detector and decoder sections of the receiver at the base station.
For each antenna at a base station, a single-maxima receiver or a dual-maxima receiver is commonly used. Each single-maxima receiver and each dual-maxima receiver commonly uses a rake receiver design. Such a design has two or more fingers, each finger being used for receiving and detecting signals carried on a respective one of the paths.
Referring to FIGS. 2 and 3, a single-maxima receiver 300 of the rake receiver design consists of an antenna 310, a receiver section 320, a detector section 330 and a decoder section 340. (Alternatively, more than one antenna 310 may be used for space or path diversity reception). The receiver section 320 is connected to the antenna 310 and to the detector section 330. The decoder section 340 is connected to the demodulator section 330.
The receiver section 320 consists of one receiver subsection. (If more than one antenna 310 is used, multiple receiver subsections would be employed, one for each antenna 310). Each receiver subsection consists of a searcher receiver and three data receivers. More or less than three data receivers can be used. (However, each receiver section must have one searcher receiver and at least one data receiver). For each RF signal sent by the mobile station, the searcher receiver searches the received spread-spectrum RF signals arriving via the various reverse paths at the antenna 310 for the strongest spread-spectrum RF signals associated with the mobile station. The searcher receiver then instructs the data receivers to track and receive the RF signals carried in the reverse paths with the strongest levels. Each data receiver typically receives and tracks a separate RF signal. In particular, each data receiver demodulates the respective spread-spectrum RF signal and translates the respective spread-spectrum RF signal from the RF frequency to a processed received signal at a lower frequency. Furthermore, each data receiver samples at the PN chip rate (e.g. 1.2288 Msamples/sec) the respective processed received signal to generate respective data samples 325A, 325B and 325C for the detector section 330 of the receiver 300.
The detector section 330 of the single-maxima receiver 300 consists of three detector subsections, a first subsection 400A, a second subsection 400B and a third subsection 400C. Each subsection 400A-C is associated with one of the data receivers in the receiver section 320. The combination of each data receiver with its corresponding subsection 400A-C is commonly called a finger of the single-maxima receiver 300 (using rake receiver terminology). If more data receivers are employed (or if more receiver sub-sections are employed), then a corresponding additional number of subsections would be employed.
The detector subsection 400A consists of a demodulator 410, a Walsh transformer circuitry 420 and squaring and summing circuitry 430. The Walsh transformer circuitry 420 is connected to the demodulator 410 and to the squaring and summing circuitry 430. The detector subsection 400A typically demodulates groups of samples 325A of the processed received signal into two groups of samples of subsignals using a demodulatorxe2x80x94one group of samples 412 of an in phase signal and one group of samples 414 of a quadrature phase signal. The two groups of samples 412, 414 of subsignals are transformed into a block of complex transformer output signals 425 using the Walsh transformer circuitry 420. Typically, the Walsh transformer circuitry 420 consists of two fast Hadamard Transformers (FHT) which transform each group of samples 412 of the in phase signal and each group of samples 414 of the quadrature phase signal into two separate blocks of transformer output signals. The two blocks of transformer output signals are commonly represented using complex mathematics as one block of complex transformer output signals 425. A block of complex transformer output signals 425 may be called a transformer block.
Since Walsh codes are typically used in a CDMA communications system, a block of complex transformer output signals 425 is sometimes called a Walsh block. Each row of the block of complex transformer output signals 425 is a complex transformer output signal 425.
Each block of complex transformer output signals 425 is carried to the squaring and summing circuitry 430 which converts each block of complex transformer output signals 425 into groups of energy values 445A (or decision values). This is achieved by finding the square of the modulus of each row of the block of complex transformer output signals 425. Each energy value 445A within the group of energy values 445A associated with a particular group of samples 325A of the processed received signal represents a measure of confidence that the group of samples 325A of the processed received signal corresponds to a particular orthogonal code with a corresponding index value. Consequently, each row of the block of complex transformer output signals 425 (i.e. each transformer output signal) corresponds to a measure of confidence that a particular group of sampled signals 325A corresponds to a particular orthogonal code from within the set of mutually orthogonal codes. Since each orthogonal code from the set of mutually orthogonal codes has a corresponding index symbol, each energy value 445A has an associated index symbol.
Similarly, the other fingers generate groups of energy values 445B and 445C associated with groups of samples 325B and 325C respectively.
The detector subsections 400A-C are sometimes called correlator detectors since they correlate samples of the received signal with one of the orthogonal codes (e.g. one of the Walsh codes).
The energy values 445A-C from each finger are fed into the decoder section 340. The decoder section 340 of the receiver 300 attempts to recover the data bits originally sent. The decoder section 340 consists of a summer 500, a single-maxima metric generator 540, a deinterleaver 550 and a decoder 560. The summer 500 is connected to the squaring and summing circuitry 430 is each finger and to the single-maxima metric generator 540. The deinterleaver 550 is connected to the single-maxima metric generator 540 and to the decoder 560.
Using the summer 500 in the decoder section 340, each group of energy values 445A from the first detector subsection 400A is directly added with other groups of energy values 445B, 445C from the other detector subsections 400B-C in the other fingers according to their associated orthogonal code (or index symbol) to create a group of combined energy values 505. The combined energy value 505 for each index symbol is fed into the single-maxima metric generator 540.
Referring in particular to FIG. 3, the single-maxima metric generator 540 consists of a selector 515, an index mapper 520, a metric computer 525 and a multiplier 530. The selector 515 is connected to the summer 500, to the index mapper 520 and to the metric computer 525. The multiplier 530 is connected to the index mapper 520 and to the metric computer 525. The selector 515 selects the largest combined energy value 518 within each group of combined energy values 505. The largest combined energy value 505 represents the largest measure of confidence that the groups of samples 325A-C of the processed signal correspond to one of the orthogonal codes (sometimes called the most likely orthogonal code sent by the mobile station). Since each orthogonal code has a corresponding index symbol, the largest combined energy value 518 represents the largest measure of confidence that the groups of samples 325A-C of the received signal corresponds to one of the index symbols. The selector 515 also selects the symbol 517 (or index symbol) associated with the largest combined energy value 518 (i.e. the most likely orthogonal code). The index symbol 517 selected is carried to the index mapper 520 which maps the index symbol 517 into a plurality of xe2x80x9c1xe2x80x9d and xe2x80x9cxe2x88x921xe2x80x9d soft decision bits 522. The largest combined energy value 517 is carried to the metric computer 525 which generates a scaling factor 527. The multiplier 530 then scales the soft decision bits 522 by the scaling factor 527 to produce soft decision data 545. The first bit in the soft decision data 545 represents a measure of confidence of the value of the first digit of index symbol (corresponding to the most likely orthogonal code). In other words, the first bit in the soft decision data 545 represents a measure of confidence of the value of the first digit of the interleaved data symbol actually sent. The second bit in the soft decision data 545 represents a measure of confidence of the value of the second digit of the index symbol (corresponding to the most likely orthogonal code) or the interleaved data symbol actually sent, and so on.
The soft decision data 545 is carried to the deinterleaver 550. The deinterleaver 550 deinterleaves the soft decision data 545, generating deinterleaved soft decision data 555. The deinterleaved soft decision data 555 is then carried to a decoder 560 (typically a Viterbi decoder) which decodes the deinterleaved data 555 into estimated digital traffic data bits 565.
Sometimes the base stations use simple single-maxima receivers that do not use the rake receiver design. Such receivers only have one finger.
The method used by a simple single-maxima receiver to generate the largest combined energy value Ek for the kth block of complex transformer output signals rk,i where i denotes the index symbol of the transformer output can be represented mathematically fairly easily as follows:
Ek=max {|rk,1|2,|rk,2|2, . . . |rk,N|2}
where N is the total number of orthogonal codes used.
A single-maxima receiver is disclosed in U.S. Pat. No. 5,109,390 entitled xe2x80x9cDiversity Receiver in CDMA Cellular Telephone Systemxe2x80x9d and issued to the Qualcomm Incorporated on Apr. 28, 1992. This patent is incorporated by reference herein in its entirety.
To increase the system capacity, some CDMA communications systems use receivers typically called dual-maxima receivers. Dual-maxima receivers have improved bit error performance with respect to single-maxima receivers. The dual-maxima receiver may or may not use a rake receiver design.
Referring to FIG. 4, a dual-maxima receiver 600 of the rake receiver design consists of an antenna 310xe2x80x2, a receiver section 320xe2x80x2, a detector section 330xe2x80x2 and a decoder section 605. The antenna 310xe2x80x2, the receiver section 320xe2x80x2, the detector section 330xe2x80x2 are identical to the antenna 310, the receiver section 320 and the detector section 330 found in the single-maxima receiver 300 and operate in exactly the same way. The detector section 330xe2x80x2 has three detector subsections 400Axe2x80x2, 400Bxe2x80x2 and 400Cxe2x80x2 which are identical to the detector subsections 400A, 400B and 400C found in the single-maxima receiver 300 and operate in exactly the same way.
However, the dual-maxima receiver has a different decoder section 605. The decoder section 605 consists of a summer 500xe2x80x2, a dual-maxima metric generator 610, a deinterleaver 550xe2x80x2 and a decoder 560xe2x80x2. The summer 500xe2x80x2, the deinterleaver 550xe2x80x2 and the decoder 560xe2x80x2 are identical to the summer 500, the deinterleaver 550 and the decoder 560 found in the single-maxima receiver 300 and operate in exactly the same way. However, the single-maxima metric generator 540 found in the single-maxima receiver 300 is replaced with the dual-maxima metric generator 610. The summer 500xe2x80x2 is connected to each detector subsection 400Axe2x80x2-Cxe2x80x2 in the detector section 330xe2x80x2 and to the dual-maxima metric generator 610. The deinterleaver 550xe2x80x2 is connected to the dual-maxima metric generator 610 and to the decoder 560xe2x80x2.
The receiver section 320xe2x80x2 has a searcher receiver and three data receivers. The searcher receiver instructs the data receivers to track and receive the strongest spread-spectrum RF signals associated with the mobile station. Each data receiver receives a separate RF signal. In particular, each receiver demodulates the RF signal and translates the RF signal to a processed received signal. Each data receiver in the receiver section 320xe2x80x2 generates groups of samples 325Axe2x80x2, 325Bxe2x80x2 and 325Cxe2x80x2, respectively, of the respective processed received signal for each respective detector subsection 400Axe2x80x2, 400Bxe2x80x2 and 400Cxe2x80x2.
In the same way as previously described with respect to the single-maxima receiver 300, a demodulator 410xe2x80x2 and Walsh transformer circuitry 420xe2x80x2 transform groups of samples 325Axe2x80x2 of the processed received signal into blocks of complex transformer output signals 425xe2x80x2, a block of complex transformer output signals for each group of samples 325Axe2x80x2 of the processed received signal. Each block of complex transformer output signals 425xe2x80x2 is converted into a group of energy values 445Axe2x80x2 by a squaring and summing circuitry 430xe2x80x2 in the same way as previously described for the single-maxima receiver 300. Each energy value 445Axe2x80x2 within a group of energy values 445Axe2x80x2 associated with a group of samples 325Axe2x80x2 represents the measure of confidence that the group of samples 325Axe2x80x2 of the received signal corresponds to a particular orthogonal code. Since each orthogonal code has a corresponding index symbol, each energy value 445Axe2x80x2 within a group of energy values 445Axe2x80x2 associated with a group of samples 325Axe2x80x2 represents the measure of confidence that the group of samples 325Axe2x80x2 of the processed received signal corresponds to a particular index symbol. Similarly, the other fingers generate groups of energy values 445Bxe2x80x2 and 445Cxe2x80x2 associated with groups of samples 325Bxe2x80x2 and 325Cxe2x80x2 respectively. The groups of energy values 445Axe2x80x2-Cxe2x80x2 from each finger are carried to the decoder section 605.
Using the summer 500xe2x80x2 in the decoder section 605, each group of energy values 445Axe2x80x2 is directly added with other groups of energy values 445Bxe2x80x2-Cxe2x80x2 from the other detector subsections 400Bxe2x80x2-Cxe2x80x2 according to their associated orthogonal code (or index symbol) to create a group of combined energy values 505xe2x80x2. The combined energy value 505xe2x80x2 for each index symbol is fed into the dual-maxima metric generator 610 which uses a dual-maxima decoding algorithm (which approximates the maximum a posteriori (MAP) decoding algorithm). After acquiring a complete group of combined energy values 505xe2x80x2, one combined energy value 505xe2x80x2 for each index symbol, the dual-maxima metric generator 610 first searches for the largest combined energy value 505xe2x80x2 in a first subset of the group of combined energy values 505xe2x80x2 which have associated index symbols having xe2x80x9c0xe2x80x9d as the first digit. The dual-maxima metric generator then searches for the largest combined energy value 505xe2x80x2 in a second subset of the group of combined energy values 505xe2x80x2 which have associated index symbols having xe2x80x9c1xe2x80x9d as a first digit. The difference in the largest combined energy value 505xe2x80x2 in the first subset with the largest combined energy value 505xe2x80x2 in the second subset is output from the dual-maxima metric generator 610 as the first bit of soft decision data 545xe2x80x2 for the first digit of the index symbol corresponding to the most likely orthogonal code. In other words, the first bit in the soft decision data 545xe2x80x2 represents a measure of confidence of the value of the first digit of the interleaved data symbol actually sent.
Next, the dual-maxima metric generator searches for the largest combined energy value 505xe2x80x2 in a third subset of the group of combined energy values 505xe2x80x2 which have associated index symbols having xe2x80x9c0xe2x80x9d as a second digit and searches for the largest combined energy value 505xe2x80x2 in the fourth subset of the group of combined energy values 505xe2x80x2 which have associated index symbols having xe2x80x9c1xe2x80x9d as the second digit. The difference in the largest combined energy values is output as the second bit of soft decision data 545xe2x80x2 for the second digit of the index symbol corresponding to the most likely orthogonal code. In other words, the second bit in the soft decision data 545xe2x80x2 represents a measure of confidence of the value of the second digit of the interleaved data symbol actually sent.
This process continues until the dual-maxima metric generator 610 generates soft decision data 545xe2x80x2 for the last digit in the index symbol most likely sent.
The soft decision data 545xe2x80x2 for all the digits of the index symbol most likely sent is then carried to the deinterleaver 550xe2x80x2. The deinterleaver 550xe2x80x2 de-interleaves the soft decision data 545xe2x80x2 generating deinterleaved soft decision data 555xe2x80x2. The deinterleaved soft decision data 555xe2x80x2 is then carried to the decoder 560xe2x80x2 (typically a Viterbi decoder) which decodes the deinterleaved soft decision data 555xe2x80x2 into estimated digital traffic data bits 565xe2x80x2.
Sometimes the base stations use simple dual-maxima receivers that do not use the rake receiver design. Such receivers only have one finger.
The method used by simple dual-maxima receivers to generate the soft decision data for the kth block of N complex transformer output signals rk,l, . . . , rk,N can be represented mathematically fairly easily as follows:
xcex94k,i=max{|rk,m|2,m∈Si}xe2x88x92max{|rk,m|2, m∈{overscore (S)}hd i}, 1ixe2x89xa6M,
where Si={∈{1, . . . N}, ith corresponding bit is xe2x80x9c0xe2x80x9d], {overscore (S)}i={n∈{1, . . . , N}, ith corresponding bit is xe2x80x9c1xe2x80x9d}, M=log2N and xcex94k,i is the ith soft decision bit of the soft decision data associated with the kth block of transformer output signals.
A dual-maxima receiver is described in U.S. Pat. No. 5,442,627 entitle xe2x80x9cNon-Coherent Receiver Employing a Dual-Maxima Metric Generation Processxe2x80x9d and issued to Qualcomm Incorporated on Aug. 15, 1995. The patent is incorporated by reference herein in its entirety.
Despite the improved bit error performance of the dual-maxima receiver over the single-maxima receiver, there is still a need for an improved receiver with even better bit error performance than that offered by the dual-maxima receiver. Such an improved receiver is needed to increase the system capacity of CDMA communications systems and better utilize the scarce RF spectrum.
The invention may be summarized according to a first broad aspect as a method of detecting codes carried in a received signal processed into blocks of values. The method includes the steps of arranging the blocks into non-overlapping sets of at least two blocks per set; and for each set, executing a code detection operation over combinations of values, each combination containing one value from each block in the set.
Variations on this broad method include methods where a single- or dual-maxima metric generator is used, methods in which the number of combinations of values is restricted and methods in which the values in a combination are weighted.
In a single-finger, single-maxima embodiment, for example, each combination is associated with a sequence of codes, one code for each block in the set and the code detection operation includes, for each set of blocks: for each combination, summing the values in the combination to produce a summed value; for each summed value, determining the presence of a characteristic therein; identifying the combination having a summed value with the strongest presence of the characteristic; and selecting the sequence of codes associated with the combination so identified.
In a single-finger, dual-maxima embodiment, for example, each combination is associated with a sequence of multi-bit index symbols and the code detection operation includes, for each set of blocks: for each combination, summing the values in the combination to produce a summed value; for each summed value, determining the presence of a characteristic therein.
In addition, for each possible bit position in a multi-bit index symbol: in a subset of combinations consisting of those combinations whose associated multi-bit index symbol has a logical xe2x80x9c1xe2x80x9d in the bit position, the combination having a summed value with the strongest presence of the characteristic is identified, that combination being a first combination. Furthermore, in a subset of combinations consisting of those combinations whose associated multi-bit index symbol has a logical xe2x80x9c0xe2x80x9d in the bit position, the combination having a summed value with the strongest presence of the characteristic is identified, that combination being a second combination.
Next, soft decision data is generated based on the multi-bit index symbols and summed values associated with the first and second combination corresponding to each bit position.
When combinations are restricted in the single-finger embodiment, the method includes the further steps of deinterleaving the soft decision data; and decoding the deinterleaved soft decision data into digital traffic data bits.
The combinations may also be weighted on a per-block basis. That is to say, the method includes, prior to the step of summing, for each combination of values, scaling each value in the combination on the basis of the block from which each value originates.
According to another broad aspect, the invention may be summarized as a method of detecting codes carried in a received signal processed into a plurality of streams of blocks of values. The method includes the steps of: for each stream of blocks, arranging the blocks into non-overlapping sets of at least two blocks per set, thereby to produce a respective stream of sets of blocks; combining the values from sets of blocks in different streams to form sets of blocks of combined values; and for each set of blocks of combined values, executing a code detection operation over combinations of combined values, each combination containing one combined value from each block in the set.
The invention can also be summarized as a computer-readable storage medium for executing the steps associated with any of these methods.
According to another broad aspect, the invention may be summarized as a block detection receiver. The receiver is equipped with at least one finger, each finger comprising a unit for processing a received signal to provide sets of non-overlapping blocks of processed values; a unit connected to the fingers, for combining a set of blocks of processed values from each finger into a set of blocks of combined processed values; and a metric generator connected to the combining unit, for executing a code detection operation over combinations of processed values in each set, the combinations having one processed value from each block in the set.
Preferably, the metric generator includes a selection unit operable to identify a subset of combinations among all possible combinations of processed values having one processed value from each block in a set and processing only those combinations so identified.
Preferably, the metric generator includes a weighting unit operable to scale each processed value in a combination of processed values on the basis of the block from which the processed value is taken.
The invention may be summarized according to a further broad aspect as a block detection receiver with a single finger. This receiver includes a transformer for performing block-wise correlations between a received signal and a plurality of codes, thereby to generate blocks of transformed values; a buffer connected to the transformer, for arranging the blocks into a stream of non-overlapping sets of blocks of transformed values of at least two blocks per set; and processing unit connected to the buffer, for executing a code detection operation over combinations of transformed values, each combination containing one transformed value from each block in a set.
According to yet another broad aspect, the invention can be summarized as a block detection receiver equipped with a plurality of transformers for performing block-wise correlations between a received signal and a plurality of codes, thereby to generate blocks of transformed values for each transformer. The receiver also has a plurality of buffers, each buffer connected to a respective transformer, for arranging the blocks received from the respective transformer into a respective stream of non-overlapping sets of blocks of transformed values of at least two blocks per set.
In addition, the receiver has a plurality of energy detectors, each energy detector connected to a respective one of the buffers, for detecting the energy of each transformed value in a set of blocks of transformed values received from the respective buffer and producing a respective set of energy values. The receiver is also equipped with a combining unit connected to the energy detectors, for combining the energy values from each energy detector into a stream of combined energy values. Finally, the receiver has a processing unit connected to the combining unit, for processing the combined energy values and executing a code detection operation over combinations combined energy values, each combination of combined energy values having one combined energy value corresponding to each block in a set.